Skip to content

Conversation

@szokeasaurusrex
Copy link
Member

Description

When DNS resolution fails (CURLE_COULDNT_RESOLVE_HOST), the CLI now retries the request using the existing exponential backoff retry mechanism. This addresses intermittent DNS failures that were causing ~5-10% of builds to fail for some users uploading symbol files.

The implementation:

  1. Adds a new RetryableCurlError type to wrap curl errors that should trigger retries
  2. Detects DNS resolution failures by checking curl::Error::is_couldnt_resolve_host()
  3. Extends the existing retry condition to include RetryableCurlError alongside HTTP status code retries

Issues

@linear
Copy link

linear bot commented Jan 14, 2026

@github-actions
Copy link
Contributor

github-actions bot commented Jan 14, 2026

Fails
🚫 Please consider adding a changelog entry for the next release.

Instructions and example for changelog

Please add an entry to CHANGELOG.md to the "Unreleased" section. Make sure the entry includes this PR's number.

Example:

## Unreleased

### Fixes

- Retry API requests on DNS resolution failure ([#3085](https://github.com/getsentry/sentry-cli/pull/3085))

If none of the above apply, you can opt out of this check by adding #skip-changelog to the PR description or adding a skip-changelog label.

Generated by 🚫 dangerJS against e6938fe

When DNS resolution fails (CURLE_COULDNT_RESOLVE_HOST), the CLI now
retries the request using the existing exponential backoff retry
mechanism. This addresses intermittent DNS failures that were causing
~5-10% of builds to fail.

Fixes #2763

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants